// prettier.config.js
/**
 * @type {import('prettier').Config}
 * @see https://www.prettier.cn/docs/options.html
 */
export default {
  // trailingComma 元素末尾是否加逗号，默认es5: ES5中的 objects, arrays 等会添加逗号，TypeScript 中的 type 后不加逗号
  trailingComma: 'all',
  // singleQuote 使用单引号代替双引号
  singleQuote: true,
  // semi 对象属性不加空格
  semi: false,
  // 每行最多字符数量，超出换行(默认80)
  printWidth: 120,
  // arrowParens 箭头函数参数只有一个时是否加括号，默认always
  arrowParens: 'always',
  // proseWrap 代码换行方式，默认auto
  proseWrap: 'always',
  // endOfLine 换行格式
  endOfLine: 'lf',
  // experimentalTernaries  是否允许三元表达式换行
  experimentalTernaries: false,
  // tabWidth tab缩进空格数
  tabWidth: 2,
  //  useTabs 是否使用tab缩进，默认false
  useTabs: false,
  // quoteProps 对象属性名是否使用单引号，默认as-needed
  quoteProps: 'consistent',
  // jsxSingleQuote  是否使用单引号代替双引号
  jsxSingleQuote: false,
  // bracketSpacing 对象属性两边是否加空格
  bracketSpacing: true,
  // bracketSameLine 是否换行
  bracketSameLine: false,
  // vueIndentScriptAndStyle  是否缩进vue文件中的代码
  vueIndentScriptAndStyle: false,
  // singleAttributePerLine 是否每个属性换行
  singleAttributePerLine: false,
  // 使用插件
  plugins: ['@ianvs/prettier-plugin-sort-imports'],
  // 排序 TypeScript 的 imports 相关配置
  importOrder: ['<THIRD_PARTY_MODULES>', '', '^@/', '', '^[./]'],
}
